/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.cip.esymons.colegiatura.beans;

import java.util.List;
import javax.faces.model.SelectItem;
import org.cip.esymons.colegiatura.bc.FacultadDelegate;
import org.cip.esymons.general.be.Facultad;
import org.cip.esymons.general.be.Universidad;

/**
 *
 * @author ADMINISTRADOR
 */
public class facultadController {

    private Facultad facultad;
    private FacultadDelegate delegado;
    private Universidad universidad;

    public facultadController() {

        delegado = new FacultadDelegate();
        facultad = new Facultad();
        universidad = new Universidad();

    }

    public FacultadDelegate getDelegado() {
        return delegado;
    }

    public void setDelegado(FacultadDelegate delegado) {
        this.delegado = delegado;
    }

    public Facultad getFacultad() {
        return facultad;
    }

    public void setFacultad(Facultad facultad) {
        this.facultad = facultad;
    }

    public Universidad getUniversidad() {
        return universidad;
    }

    public void setUniversidad(Universidad universidad) {
        this.universidad = universidad;
    }

    public Facultad buscaPorCodigo(Integer codigo){

        return delegado.find(codigo);
    }

    public List<Facultad> getListaFacultad(){

        return delegado.findAll();
    }

    public String nuevo(){

        facultad = new Facultad();
        universidad = new Universidad();
        return "ir_a_nuevo";
    }

    public String grabar(){

        try{
        facultad.setFacEstado(1);
        delegado.create(facultad);
        facultad = new Facultad();
        universidad = new Universidad();
        getListaFacultad();
        return "ir_a_listar";
        }catch(Exception ex){
            return null;
        }
    }

    public String editar(){

        try{
        delegado.edit(facultad);
        facultad = new Facultad();
        return "ir_a_listar";
        }catch(Exception ex){
            return null;
        }
    }

    public String remover(){

        try{
        delegado.remove(facultad);
        facultad = new Facultad(); 
        return null;
        }catch(Exception ex){
            return null;
        }
    }

    public String inicializa(){

        facultad = new Facultad();
        universidad = new Universidad();
        return "";
    }

    public SelectItem[] getSelectListaItem(){

      try{
        System.out.println("Ingreso 1");
        SelectItem[] selects = null;
        List<Facultad> listaFacultad = delegado.buscarPorUniversidad(universidad);
        selects = new SelectItem[listaFacultad.size()];
        int cont = 0;
        for(Facultad fac : listaFacultad){

            SelectItem item = new SelectItem(fac, fac.getFacNombre());
            selects[cont] = item;
            cont++;
        }
        return selects;
      }catch(Exception e){
            System.out.println("Ingreso Error");
            SelectItem[] selects = new SelectItem[1];
            SelectItem item = new SelectItem(null, "No existen Facultades");
            selects[0] = item;
            return selects;
      }

    }

    public SelectItem[] getSelectListaItemCombo(){

      try{
        System.out.println("Ingreso 1");
        SelectItem[] selects = null;
        List<Facultad> listaFacultad = delegado.findAll();
        selects = new SelectItem[listaFacultad.size()];
        int cont = 0;
        for(Facultad fac : listaFacultad){

            SelectItem item = new SelectItem(fac, fac.getFacNombre());
            selects[cont] = item;
            cont++;
        }
        return selects;
      }catch(Exception e){
            System.out.println("Ingreso Error");
            SelectItem[] selects = new SelectItem[1];
            SelectItem item = new SelectItem(null, "No existen Facultades");
            selects[0] = item;
            return selects;
      }

    }


}
